package mygame;

/**
 * Here all behavioural parameters of the plane are stored.
 * @author aicher
 * @version 0.0.2
 */public class PlaneBehaviour {
    /**
     * Pointing to all values of a small plane
     */
    public static final int SMALL_PLANE = 0;
    
    /**
     * Below this speed the plane will not pitch or roll
     */
    public static final float[] STOP_PITCH_SPEED = {20f};
    
    /**
     * Speed the pitch speed will ramp up
     */
    public static final float[] PITCH_INCREASE_SPEED = {0.8f};
    
    /**
     * target value of the pitch speed if a pitch key was hit
     */
    public static final float[] PITCH_DELTA_KEYB = {0.4f};
    
    /**
     * Speed the roll speed will ramp up
     */
    public static final float[] ROLL_INCREASE_SPEED = {0.8f};
    
    /**
     * target value of the roll speed if a pitch key was hit
     */
    public static final float[] ROLL_DELTA_KEYB = {0.4f};
    
    /**
     * Speed the yaw speed will ramp up
     */
    public static final float[] YAW_INCREASE_SPEED = {0.8f};
    
    /**
     * target value of the yaw speed if a pitch key was hit
     */
    public static final float[] YAW_DELTA_KEYB = {0.4f};
    
    /**
     * Below this speed value the plane will not yaw it is defined as "stands still". 
     * So it can not be turned - even if it is on the ground.
     */
    public static final float[] STOP_YAW_SPEED = {0.1f};
    
    /**
     * Backforce to lead the turns (pitch, yaw and roll) to 0 if
     * no turn command is present anymore
     */
    public static final float[] TURN_RESET_SPEED = {2f};
    
    /**
     * Camera position in relation to the plane mesh in Y direction
     */
    public static final float[] PILOT_VIEW_Y_POS_OFFSET = {2f};
    
    /**
     * Camera position in relation to the plane mesh in Z direction
     */
    public static final float[] PILOT_VIEW_Z_POS_OFFSET = {2f};
    
    /**
     * Power determines, how fast the plane will accelerate based on the
     * throttle value.
     */
    public static final float[] PLANE_POWER = {7f};
    
    /**
     * Resinstance in X direction (side of the plane). Multiplied with the
     * plane speed in x direction lead to a reduction of the speed in x direction.
     */
    public static final float[] WIND_RESISTANCE_X = {1f};
    
    /**
     * Resinstance in Y direction (side of the plane). Multiplied with the
     * plane speed in Y direction lead to a reduction of the speed in Y direction.
     */
    public static final float[] WIND_RESISTANCE_Y = {1.5f};
    /**
     * Resinstance in Z direction (side of the plane). Multiplied with the
     * plane speed in Z direction lead to a reduction of the speed in Z direction.
     */
    public static final float[] WIND_RESISTANCE_Z = {0.05f};
    
    /**
     * Upswing value of the plane, if it is in the air
     */
    public static final float[] UPSWING_AIR = {0.6f};

}
